package com.ruicar.afs.cloud.apply.common.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.ruicar.afs.cloud.apply.common.entity.ApplyCarDetails;
import com.ruicar.afs.cloud.apply.common.entity.ApplyChannelInfo;
import com.ruicar.afs.cloud.apply.common.entity.ApplyCustPersonalDetail;
import com.ruicar.afs.cloud.apply.common.entity.ApplyOrderInfo;
import com.ruicar.afs.cloud.bizcommon.business.entity.FinCostDetails;
import com.ruicar.afs.cloud.bizcommon.business.entity.FinFinancingItems;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @description: 调用产品接口DTO
 * @author: sijun.yu
 * @date: 2020/7/7 11:18
 */
@Data
public class ProductInfoDTO {

    /**
     * 每页大小
     */
    private int pageSize;

    /**
     * 当前页数
     */
    private int pageNo;

    /**
     * 渠道信息
     */
    private ApplyChannelInfo channelInfo;

    /**
     * 车辆信息
     */
    private ApplyCarDetails carInfo;

    /**
     * 原子信息
     */
    private ApplyOrderInfo atomInfo;

    /**
     * 车款费用信息
     */
    private FinCostDetails mainProductInfo;

    /**
     * 附加贷费用信息
     */
    private FinCostDetails addProductInfo;

    /**
     * 融资列表
     */
    private List<FinFinancingItems> extrasInfoList;

    /**
     * 客户明细信息-主贷人
     */
    private ApplyCustPersonalDetail custPersonalInfo;

    /**
     * 是否有共借人
     */
    private String hasCommonBorrower = "no";

    /**
     * 客户明细信息-共借人
     */
    private ApplyCustPersonalDetail custInfoCoBorrower;

    /**
     * 是否有保证人
     */
    private String hasBail = "no";

    /**
     * 客户明细信息-担保人
     */
    private ApplyCustPersonalDetail custInfoGuarantee;

    /**
     * 合同总价格
     */
    private BigDecimal totalContractAmt;

    /**
     * 贷款总额
     */
    private BigDecimal totalLoanAmt;

    /**
     * 首付款总额
     */
    private BigDecimal totalFirstAmt;

    /**
     * 贴息金额
     */
    private BigDecimal totalDiscountAmt;

    /**
     * 利息总额
     */
    private BigDecimal totalInterest;

    /**
     * 月供总额
     */
    private BigDecimal totalRent;

    /**
     * 产品ID
     */
    @JSONField(serializeUsing = com.alibaba.fastjson.serializer.ToStringSerializer.class)
    private Long id;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 产品ID
     */
    private String productPlanId;

    /**
     * 附加方案ID
     */
    private String extrasProgramId;

    /**
     * 附加项目名称
     */
    private String extrasProjectName;

    /**
     * 父级编号
     */
    private String fatherNo;

    /**
     * 是否校验产品有效
     */
    private String hasProductValid = "no";

}
